Steganography refers to any methodology used to hide a message (including text, sound, or images) in a separate file. In the realm of data networking and computer-based communications, text data or image data is inserted into another image in a hidden manner that is not recognizable to someone viewing the image. However, there are other examples where video is hidden in another video file, or sound is hidden in another sound file or even sound being hidden in a video file, etc. The image/sound/video that is used to hide the underlying message is referred to as a carrier, cover file and/or a signal.
One common steganography method used today includes using the least significant bits of an image to store data. For example, in a high resolution graphics file, each pixel is represented by 24 bits. By using the least significant (i.e. the last 1 or 2 bits) to store other data, the image is not compromised and data is hidden in the image. Specialized tools exist, including free software available on the Internet, to insert a text or image into a carrier image.
The purpose of steganography, regardless of the implementation, is to hide some underlying message so that an observer is not readily aware the message is present. This is useful in covert communications, particularly in the intelligence community. Most implementations of steganography provide ways to embed the message (e.g., text, image, video, or audio) into the carrier file. Some permutations, such as SNOW, even use blanks at the end of text files in order to hide messages. The current steganography methods in existence are unrefined and have limited capabilities.